import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class FullScreenPopup extends JFrame {
    Font infoFont = new Font("宋体", Font.PLAIN, 25); // 设置字体为宋体，大小为15

    public FullScreenPopup() {
        setUndecorated(true); // 去除窗口装饰（标题栏等）
        setExtendedState(JFrame.MAXIMIZED_BOTH); // 设置窗口全屏
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 图片路径
        String imagePath = "D:\\IdeaProjects\\VideoManagement\\image\\touxiang.jpg";
        ImageIcon imageIcon = new ImageIcon(imagePath);
        JLabel imageLabel = new JLabel(imageIcon);
        imageLabel.setHorizontalAlignment(JLabel.CENTER);
        imageLabel.setSize(500,500);

        // 个人信息
        JPanel infoPanel = new JPanel(new GridBagLayout());
        infoPanel.setBackground(Color.WHITE);
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.fill = GridBagConstraints.HORIZONTAL;
        gbc.insets = new Insets(10, 10, 10, 10);

        // 在这里替换成你自己的个人信息，可以是文本框、标签等任何需要展示的内容
        JLabel nameLabel = new JLabel("姓名：小明");
        nameLabel.setFont(infoFont); // 设置字体
        nameLabel.setHorizontalAlignment(JLabel.CENTER); // 居中显示
        JLabel ageLabel = new JLabel("年龄：25");
        ageLabel.setFont(infoFont); // 设置字体
        ageLabel.setHorizontalAlignment(JLabel.CENTER); // 居中显示
        JLabel emailLabel = new JLabel("邮箱：xiaoming@example.com");
        emailLabel.setFont(infoFont); // 设置字体
        emailLabel.setHorizontalAlignment(JLabel.CENTER); // 居中显示

        gbc.gridx = 0;
        gbc.gridy = 0;
        gbc.weightx = 0.5; // 设置水平权重为0.5，平均分配空间
        infoPanel.add(nameLabel, gbc);

        gbc.gridy = 1;
        infoPanel.add(ageLabel, gbc);

        gbc.gridy = 2;
        infoPanel.add(emailLabel, gbc);

        // 将图片和个人信息组合在一起的面板
        JPanel combinedPanel = new JPanel(new GridLayout(1, 2));
        combinedPanel.add(imageLabel);
        combinedPanel.add(infoPanel);


        // 创建一个计时器，在3秒后关闭弹框
        Timer timer = new Timer(6000, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                dispose(); // 关闭弹框
            }
        });
        timer.setRepeats(false); // 设置计时器只触发一次
        timer.start(); // 启动计时器

        // 创建全屏的消息弹框
        JDialog dialog = new JDialog(this);
        dialog.setUndecorated(true); // 去除装饰
        dialog.setContentPane(new JOptionPane(combinedPanel));
        dialog.pack();
        dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); // 关闭弹窗时销毁

        // 设置对话框全屏显示
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice gd = ge.getDefaultScreenDevice();
        gd.setFullScreenWindow(dialog);

        dialog.setVisible(true);

    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            new FullScreenPopup();
        });
    }
}
